﻿namespace BloggerBackup
{
    using System;
    using System.Collections.Generic;

    public class AllSaveNameOptions
    {
        private List<NameOption> _folderNameOptions = new List<NameOption>();
        private List<NameOption> _postNameOptions = new List<NameOption>();

        public AllSaveNameOptions()
        {
            this._folderNameOptions.Add(new NameOption("Blog Title", "Title of the blog", 50, "", "blogtitle"));
            this._folderNameOptions.Add(new NameOption("Post Published-Year", "The year the post was published", 4, "yyyy", "published"));
            this._folderNameOptions.Add(new NameOption("Post Published-Month", "The month the post was published", 2, "MM", "published"));
            this._folderNameOptions.Add(new NameOption("Post Updated-Year", "The year the post was last updated", 4, "yyyy", "updated"));
            this._folderNameOptions.Add(new NameOption("Post Updated-Month", "The month the post was last updated", 2, "MM", "updated"));
            this._postNameOptions.Add(new NameOption("Post Published-ISO8601", "The date and time the post was published, formated as an ISO8601 date", 15, "yyyyMMddThhmmss", "published"));
            this._postNameOptions.Add(new NameOption("-", "Dash", 1, "", "customtext", "-"));
            this._postNameOptions.Add(new NameOption("Post Title", "Title of the post", 50, "", "title"));
            this._postNameOptions.Add(new NameOption("Post Published-Year", "The year the post was published", 4, "yyyy", "published"));
            this._postNameOptions.Add(new NameOption("Post Published-Month", "The month the post was published", 2, "MM", "published"));
            this._postNameOptions.Add(new NameOption("Post Published-Day", "The day the post was published", 2, "dd", "published"));
            this._postNameOptions.Add(new NameOption("Post Published-Hour", "The hour the post was published", 4, "hh", "published"));
            this._postNameOptions.Add(new NameOption("Post Published-Minute", "The minute the post was published", 2, "mm", "published"));
            this._postNameOptions.Add(new NameOption("Post Updated-Year", "The year the post was last updated", 4, "yyyy", "updated"));
            this._postNameOptions.Add(new NameOption("Post Updated-Month", "The month the post was last updated", 2, "MM", "updated"));
            this._postNameOptions.Add(new NameOption("Post Updated-Day", "The day the post was last updated", 2, "dd", "updated"));
            this._postNameOptions.Add(new NameOption("Post Updated-Hour", "The hour the post was last updated", 4, "hh", "updated"));
            this._postNameOptions.Add(new NameOption("Post Updated-Minute", "The minute the post was last updated", 2, "mm", "updated"));
            this._postNameOptions.Add(new NameOption("Post Updated-ISO8601", "The date and time the post was last updated, formated as an ISO8601 date", 15, "yyyyMMddThhmmss", "updated"));
            this._postNameOptions.Add(new NameOption("_", "Underscore", 1, "", "customtext", "_"));
            this._postNameOptions.Add(new NameOption("Post URL", "The Post/Page URL, minus the path and HTML extension.", 0x19, "", "linkalternate"));
        }

        public List<NameOption> FolderNameOptions
        {
            get
            {
                return this._folderNameOptions;
            }
            set
            {
                this._folderNameOptions = value;
            }
        }

        public List<NameOption> PostNameOptions
        {
            get
            {
                return this._postNameOptions;
            }
            set
            {
                this._postNameOptions = value;
            }
        }
    }
}

